﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

namespace AntMovement.Core.Entity
{
    public class AxisUnitConversion
    {
        /// <summary>
        /// 电机转一周脉冲数
        /// </summary>
        public double CyclePulse { get; set; }

        /// <summary>
        /// 电机转一周行程
        /// </summary>
        public double WeeklyItinerary { get; set; }

        /// <summary>
        /// 使用变速箱
        /// </summary>
        public bool EnableGearbox { get; set; }

        /// <summary>
        /// 当前位置
        /// </summary>
        [JsonIgnore]
        public double ActualPosition { get; set; }

        /// <summary>
        /// 工作齿轮比
        /// </summary>
        public double WorkingGearRatio { get; set; } = 1.0;

        /// <summary>
        /// 电机齿轮比
        /// </summary>
        public double MotorGearRatio { get; set; } = 1.0;

        /// <summary>
        /// 旋转模式
        /// </summary>
        public bool EnableRotationMode { get; set; }

        /// <summary>
        /// 模最大位置
        /// </summary>
        public double ModulusMaximumPosition { get; set; }

        /// <summary>
        /// 模最小位置
        /// </summary>
        public double ModulusMinimumPosition { get; set; }
    }
}
